/*
 * Copyright (c) 2003-2004, Inversoft, All Rights Reserved
 *
 * This software is distribuable under the GNU Lesser General Public License.
 * For more information visit gnu.org.
 */
package org.emergent.antbite.savant;


import java.io.File;


/**
 * <p>
 * This interface is a listener that is notified when the
 * {@link DependencyMediator} encounters and handles
 * artifacts. If the artifact is found, that the method on
 * this interface is called.
 * </p>
 *
 * @author Brian Pontarelli
 */
public interface DependencyListener {

    /**
     * Handle when a local project is built by the mediator.
     *
     * @param   project The local project built
     */
    void projectBuilt(LocalProject project);

    /**
     * Handle when an artifact is found by the mediator.
     *
     * @param   file The file that references the artifact
     * @param   artifact The artifact found
     * @param   group The ArtifactGroupType the artifact belongs (if any)
     */
    void artifactFound(File file, Artifact artifact, ArtifactGroup group);
}
